package cn.iocoder.yudao.module.reclaim.dal.mysql.kefu;

import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.module.reclaim.controller.admin.kefu.vo.AdminKefuPageReqVO;
import cn.iocoder.yudao.module.reclaim.dal.dataobject.kefu.AdminKefuDO;
import org.apache.ibatis.annotations.Mapper;

/**
 * 客服 Mapper
 *
 * @author deyaco
 */
@Mapper
public interface AdminKefuMapper extends BaseMapperX<AdminKefuDO> {

    default PageResult<AdminKefuDO> selectPage(AdminKefuPageReqVO reqVO) {
        return selectPage(reqVO, new LambdaQueryWrapperX<AdminKefuDO>()
                .eqIfPresent(AdminKefuDO::getUserId, reqVO.getUserId())
                .likeIfPresent(AdminKefuDO::getName, reqVO.getName())
                .eqIfPresent(AdminKefuDO::getMobile, reqVO.getMobile())
                .eqIfPresent(AdminKefuDO::getContactPic, reqVO.getContactPic())
                .eqIfPresent(AdminKefuDO::getStatus, reqVO.getStatus())
                .orderByDesc(AdminKefuDO::getId));
    }

}